 /***********************************************************
 *  File_Name  : XJUseTime.h
 *  File_Path   : 
 *  File_Encode : UTF8
 *  Description : 耗时统计
 *  
 *  OS : Linux, UNIX
 *  LastVersion  : 20130723
 *      
 *  Author      : LiXiujie(李秀杰)
 *  Date        : 2014-4-17
 *  Version     : 20130417
 *  Description :
 *                
 *  Edit Author : 
 *  Edit Date   : 
 *  Version     : 
 *  Description :
 *                
 ***********************************************************/
#ifndef XJUSETIME_H_
#define XJUSETIME_H_

#include <stdint.h>
#include <string>

namespace XJUtilClass {
typedef void (*XJUseTimeWarnFun)(const std::string &,int64_t);
class XJUseTime {
public:
    XJUseTime(const std::string & name="", int aWarnTime =0, XJUseTimeWarnFun fun = NULL);
    ~XJUseTime() ;

    int64_t ResetBegin();
    int64_t GetUseTimeMS();
private:
    std::string mName;
    int64_t miBeginTime;
    int64_t miWarnTime;
    XJUseTimeWarnFun mpFun;
};
}// namespace XJUtilClass 

#endif // XJUSETIME_H_